/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.ipartek.formacion.gestformwww.controlador;

import com.ipartek.formacion.gestformwww.modelo.ModeloConvocatoria;
import com.ipartek.formacion.gestformwww.modelo.beans.excepciones.GestorFormacionExcepcion;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 *
 * @author Curso
 */
public class BorrarConvocatoriaAccion  implements Accion{


/**
 * Descripción: ejecuta la acción de borrado del curso
 * @param servlet
 * @param request
 * @param response
 * @return devuelve el router que dirige a la página que corresponda (a Inicio o a Principal)
 */
    public AccionRouter ejecuta(HttpServlet servlet, HttpServletRequest request, HttpServletResponse response) {
        HttpSession sesion = request.getSession();
        AccionServlet as=(AccionServlet) servlet;
        AccionRouter router = null;
        int idConv=0;

        ModeloConvocatoria modelocon=(ModeloConvocatoria) servlet.getServletContext().getAttribute("ModeloConvocatoria");

        //String aleatorio = (String) sesion.getAttribute("aleatorioBorrarCurso");
        if (sesion.getAttribute("usuario") != null) { //Si esta logeado

            idConv = Integer.parseInt(request.getParameter("idConvocatoriaSeleccionada"));
            
            try {
                modelocon.eliminarConvocatoria(idConv);
            } catch (GestorFormacionExcepcion ex) {
                Logger.getLogger(BorrarConvocatoriaAccion.class.getName()).log(Level.SEVERE, null, ex);
                sesion.setAttribute("excepciones", ex.getMessage());
            }
            try {
                router = as.getFactory().getAction(as.getNombreClaseRecurso("listar-convocatorias-accion"), servlet.getClass().getClassLoader()).ejecuta(servlet, request, response);
            } catch (ClassNotFoundException ex) {
                Logger.getLogger(BorrarConvocatoriaAccion.class.getName()).log(Level.SEVERE, null, ex);
            } catch (InstantiationException ex) {
                Logger.getLogger(BorrarConvocatoriaAccion.class.getName()).log(Level.SEVERE, null, ex);
            } catch (IllegalAccessException ex) {
                Logger.getLogger(BorrarConvocatoriaAccion.class.getName()).log(Level.SEVERE, null, ex);
            }

        }else{
            //Si el usuario no esta logueado
            router = new AccionRouter("inicio", false);
        }
        return router;
    }
}